#可以找出对应目录下，符合条件的所有文件，只保留最后N个
#范例:
#sh findFilesToDelByTime2.sh 1 "a.sql"
#代表找出在/usr/local/mysqlDump/路径下，修改时间是1分钟以前的,sql名为a.sql的文件，全部进行删除

dir="/usr/local/mysqlDump"
exp="${2:-*.sql}" #检索文件的表达式,根据需要进行编写
num=${1:-1440} #找出num分钟开外的文件进行删除，获取外部传入的第1个参数给num赋值(如sh findFilesToDel.sh 2),如果没传参数则默认为10

# 在指定目录下搜索带有指定后缀名的文件，并按照修改时间降序排列，最后保留最新的num个文件
echo "`date +"%Y-%m-%d_%H:%M:%S"`:-------脚本findFilesToDelByTime.sh执行开始-------" >> /usr/local/mysqlDump/log/deleteFile.log
files=($(find /usr/local/mysqlDump/ -type f -name "${exp}" -mmin +${num} ))

if [[ ${#files[@]} -gt 0 ]]; then
    # 从第num+1个文件开始进行删除操作
    for (( i=0; i<${#files[@]}; i++ )); do
        rm "${files[$i]}"
        echo "删除成功：${files[$i]}" >> /usr/local/mysqlDump/log/deleteFile.log
    done
else
    echo "没有符合条件的文件。" >> /usr/local/mysqlDump/log/deleteFile.log
fi
echo "`date +"%Y-%m-%d_%H:%M:%S"`:-------脚本findFilesToDelByTime.sh执行结束-------" >> /usr/local/mysqlDump/log/deleteFile.log